#!/bin/bash
###############################################################################
# @用例ID: 20230907-161959-827746351
# @用例名称: get-pkgs-list
# @用例级别: 3
# @用例标签:
# @扩展属性:
# @用例类型: 功能测试
# @自动化: 1
# @超时时间: 0
# @用例描述: TODO: 简要描述用例测试的内容
###############################################################################
[ -z "$TST_TS_TOPDIR" ] && {
    TST_TS_TOPDIR="$(realpath "$(dirname "$0")/..")"
    export TST_TS_TOPDIR
}
source "${TST_TS_TOPDIR}/tst_common/lib/common.sh" || exit 1
###############################################################################

g_tmpdir="$(mktemp -d)"

tc_setup() {
    msg "this is tc_setup"

    return 0
}

do_test() {
    msg "this is do_test"


    # @测试步骤:1: 关闭一些不需要测试的repo
    disable_scl_repo
    epel_repo_switch "disable"
    
    # @测试步骤:2: 获取所有未安装的软件包列表，并保存到uninstall-pkgs.list文件中
    # @预期结果:2: uninstall-pkgs.list文件内容不为空
    yum list | awk '{print $1}' | tee yum.list >/dev/null
    sed -i '0,/Available/d' yum.list
    sort -u yum.list | tee yum-sort.list >/dev/null
    cat yum-sort.list |grep -v ".x86_64\|.aarch64\|.noarch\|.i686\|.i386" |tee unuse.list >/dev/null
    diff yum-sort.list unuse.list | grep "<" | awk '{print $2}' | tee uninstall-pkgs.list >/dev/null
    grep -v "release" uninstall-pkgs.list > "${g_tmpdir}/temp" && mv "${g_tmpdir}/temp" uninstall-pkgs.list
    assert_true [ -s uninstall-pkgs.list ]

    # @测试步骤:3: 打开epel、scl相关的repo
    #epel_repo_switch "enable"
    #enable_scl_repo

    return 0
}

tc_teardown() {
    msg "this is tc_teardown"
    rm yum.list yum-sort.list unuse.list
    rm -rfv "$g_tmpdir" || return 1
    return 0
}

###############################################################################
tst_main "$@"
###############################################################################
